package com.ocom.exposeapi.feign;


import com.ocom.common.constant.CompanyServiceUrl;
import com.ocom.common.constant.HumanServiceUrl;
import com.ocom.common.dto.CompanyDockListDto;
import com.ocom.common.dto.DockApiListDto;
import com.ocom.common.dto.DockKeyDto;
import com.ocom.common.entity.human.EntityBizLeaveApply;
import com.ocom.common.request.company.*;
import com.ocom.common.resp.Result;
import com.ocom.common.vo.GetFlowPushByLineVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(value = "company")
public interface CompanyClientService {


	@PostMapping(CompanyServiceUrl.URL_getCompanyKeyInfoOne)
	Result getCompanyKeyInfoOne(@RequestParam("companyId") Long companyId);

	@PostMapping(CompanyServiceUrl.URL_getReplyApiPara)
	public Result getReplyApiPara(@RequestBody GetReplyApiParaRequest request) ;


	/**
	 * 6.24单位登录验证（comLoginAuth）
	 */
	@PostMapping(CompanyServiceUrl.URL_comLoginAuth)
	public Result comLoginAuth(@RequestParam("serverCode")String serverCode,@RequestParam("authCode")String authCode) ;


	@PostMapping(CompanyServiceUrl.URL_getSeverReplyApiPara)
	public Result getSeverReplyApiPara(@RequestBody GetSeverReplyApiParaRequest request) ;


	@PostMapping(CompanyServiceUrl.Url_getComDockList)
	public Result getComDockList(@RequestBody CompanyDockListDto request);

	//6.17读取通讯接口URL（getDockApiUrl）
	@PostMapping(CompanyServiceUrl.URL_getDockApiUrl)
	public Result getDockApiUrl(@RequestBody GetDockApiUrlRequest request);


	@PostMapping(CompanyServiceUrl.URL_GetCompanyListInfoOne)
	public Result GetCompanyListInfoOne(@RequestParam("companyId")Long companyId) ;

	@PostMapping(CompanyServiceUrl.Url_getDockKey)
	public Result getDockKey(@RequestBody DockKeyDto request);

	@PostMapping(CompanyServiceUrl.Url_getApiPara)
	public Result getApiPara(@RequestParam("comId") Long comId, @RequestParam("dockApiCode") String dockApiCode);

	@PostMapping(CompanyServiceUrl.Url_setApiPara)
	public Result setApiPara(@RequestParam("comId") Long comId, @RequestParam("dockApiCode") String dockApiCode, @RequestParam("apiPara") String apiPara);

	@PostMapping(CompanyServiceUrl.URL_getComRequest)
	public Result getComRequest(@RequestBody GetComRequestRequest request);

	@PostMapping(CompanyServiceUrl.URL_getPushByLine)
	public Result<GetFlowPushByLineVo> getPushByLine(@RequestBody GetPushByLineRequest getPushByLineRequest);

	@PostMapping(CompanyServiceUrl.URL_leavelApplyOne)
	public Result<EntityBizLeaveApply> leavelApplyOne(@RequestBody EntityBizLeaveApply entityBizLeaveApply);
}
